package cn.lingyangwl.agile.pay.pay.model.rqrs.bill;

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

/**
 * @author shenguangyang
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class WxBillQueryRS extends BillQueryRS {
    private List<Detail> detailList;

    @Data
    public static class Detail implements Serializable {
        /** 交易时间 */
        @Excel(name = "交易时间")
        private String tradeTime;
        /** 公众账号ID */
        @Excel(name = "公众账号ID")
        private String appId;
        /** 商户号 */
        @Excel(name = "商户号")
        private String mchId;
        /** 特约商户号 */
        @Excel(name = "特约商户号")
        private String mchAppId;
        /** 设备号 */
        @Excel(name = "设备号")
        private String deviceInfo;
        /** 微信订单号 */
        @Excel(name = "微信订单号")
        private String transactionId;
        /** 商户订单号 */
        @Excel(name = "商户订单号")
        private String outTradeNo;
        /** 用户标识 */
        @Excel(name = "用户标识")
        private String openId;
        /** 交易类型 */
        @Excel(name = "交易类型")
        private String tradeType;
        /** 交易状态 */
        @Excel(name = "交易状态")
        private String tradeStatus;
        /** 付款银行 */
        @Excel(name = "付款银行")
        private String payBank;
        /** 货币种类 */
        @Excel(name = "货币种类")
        private String moneyType;
        /** 应结订单金额 */
        @Excel(name = "应结订单金额")
        private String orderPay;
        /** 代金券金额 */
        @Excel(name = "代金券金额")
        private String voucherAmount;
        /** 微信退款单号 */
        @Excel(name = "微信退款单号")
        private String refundNumber;
        /** 商户退款单号 */
        @Excel(name = "商户退款单号")
        private String outRefundNo;
        /** 退款金额 */
        @Excel(name = "退款金额")
        private String refundAmount;
        /** 充值券退款金额 */
        @Excel(name = "充值券退款金额")
        private String refundAmountVoucher;
        /** 退款类型 */
        @Excel(name = "退款类型")
        private String refundsType;
        /** 退款状态 */
        @Excel(name = "退款状态")
        private String refundsStatus;
        /** 商品名称 */
        @Excel(name = "商品名称")
        private String commodityName;
        /** 商户数据包 */
        @Excel(name = "商户数据包")
        private String dataPacket;
        /** 手续费 */
        @Excel(name = "手续费")
        private String serviceCharge;
        /** 费率 */
        @Excel(name = "费率")
        private String rate;
        /** 订单金额 */
        @Excel(name = "订单金额")
        private String orderAmount;
        /** 申请退款金额 */
        @Excel(name = "申请退款金额")
        private String applicationRefundAmount;
        /** 费率备注 */
        @Excel(name = "费率备注")
        private String rateNotes;
    }
}
